package com.atguigu.modStudy.entity;

import com.atguigu.modStudy.ModItemTier;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.SwordItem;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvents;

public class ObsidianSword extends SwordItem {
    /**
     * 黑曜石剑的构造函数
     * 使用自定义的黑曜石材料等级（ModItemTier.OBSIDIAN）
     * 攻击伤害为3，攻击速度为-2.4f（Minecraft中剑的典型值）
     * 将物品归类到战斗物品组中
     */
    public ObsidianSword() {
        super(ModItemTier.OBSIDIAN, 3, -2.4f, new Item.Properties().group(ItemGroup.COMBAT));
    }

    /**
     * 当使用该剑攻击实体时调用此方法
     * 播放钻石装备音效来增加攻击的反馈感
     * 
     * @param stack 攻击使用的物品堆栈
     * @param target 被攻击的目标实体
     * @param attacker 发起攻击的实体（通常是玩家）
     * @return 是否成功攻击
     */
    @Override
    public boolean hitEntity(ItemStack stack, LivingEntity target, LivingEntity attacker) {
        // 在攻击者位置播放装备钻石盔甲的音效
        attacker.world.playSound(null, attacker.getPosX(), attacker.getPosY(), attacker.getPosZ(),
                SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, SoundCategory.PLAYERS, 1.0F, 1.0F);
        return super.hitEntity(stack, target, attacker);
    }
}
